(define (zero) 
    `(diff (one) (one))
)


(define (is-zero? n)
    (eqv? n (zero))
)


(define (minus-one)
    `(diff
        (diff 
            (one)
            (one))
        (one)
    )
)


(define (plus-one)
    `(one)
)


(define (successor n)
    (list 
        `diff
        n
        (minus-one)
    )
)


(define (predecessor n)
    (list 
        `diff
        n
        (plus-one)
    )
)


(define (diff-tree-plus t1 t2)
    (list
        diff
        t1
        (list
            diff
            (zero)
            t2
        )
    )
)


(display 
    (successor (zero))
)
